Skip to content

revert(release): drop version suffixes and registry channels - #643

Merged
guibeira merged 7 commits into
mainfrom
revert/release-channels
Jul 30, 2026
Merged

revert(release): drop version suffixes and registry channels#643
guibeira merged 7 commits into
mainfrom
revert/release-channels

Conversation

@guibeira

@guibeira guibeira commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Reverts the release-channel / pre-release-suffix work. It shipped a second
distribution axis (experimental channel, alpha releases cut from PR
branches) that the registry cannot resolve, and it left production in a bad
state: image-resize@latest currently points at 0.1.13-alpha.1.

Replacement, in a follow-up PR: an experimental flag on Create Tag that
works like the registry's deprecated — a per-worker mark surfaced as a
badge, not a channel installs have to resolve.

Reverted, newest first

Commit Effect
#633 alpha tag publish trigger
#632 alpha publish pipeline trigger
#628 alpha release inputs
#626 deletes .github/workflows/alpha-release.yml
#631 drops the alpha→experimental override in Create Tag
0cba488 image-resize back to 0.1.13 in Cargo.toml / Cargo.lock
#615 drops the suffix input, the experimental channel, the _lib.py pre-release helpers, manifest_version.py --suffix/--worker, and RELEASE_CHANNELS

Create Tag is back to worker + bump + tag (latest | next).
.github/scripts/tests/: 150 passed.

Verified the tree matches the pre-#615 baseline: the only difference in
create-tag.yml is the editor option added later by #623.

Known consequences

  • parse_release_tag.py no longer validates registry-tag against a closed
    set, so a typo in an annotated tag message passes silently again. Say the
    word and I keep that check restricted to latest|next.
  • Registry rows already tagged experimental stay in the DB and go inert.
  • Not handled here, on purpose: image-resize@latest still points at
    0.1.13-alpha.1 in production, and the six remote
    image-resize/v0.1.13-alpha.* tags and their GitHub releases still exist.

Summary by CodeRabbit

  • Release Process

    • Simplified version bumping to support patch, minor, major, or no change.
    • Removed automated prerelease and experimental-release workflows.
    • Registry tag selection is now limited to latest and next.
  • Documentation

    • Updated release guidance to reflect the streamlined tagging and prerelease process.
  • Bug Fixes

    • Updated the image-resize package version to 0.1.13.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
workers Ready Ready Preview Jul 30, 2026 6:01pm
workers-tech-spec Ready Ready Preview Jul 30, 2026 6:01pm

Request Review

@guibeira guibeira added the no-ticket PR deliberately has no Linear ticket (bump/typo/CI-only) label Jul 30, 2026
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The release flow removes automated prerelease suffix calculation, simplifies manifest version bumps, accepts registry tags without a fixed allowlist, restricts workflow choices to latest and next, removes the alpha-release workflow, updates release documentation, and stabilizes the image-resize version.

Changes

Release flow simplification

Layer / File(s) Summary
Manifest version bumping
.github/scripts/_lib.py, .github/scripts/manifest_version.py, .github/scripts/tests/*
Bumping now depends only on --kind; prerelease and git-tag numbering helpers, arguments, fixtures, and tests are removed.
Registry-tag workflow wiring
.github/scripts/parse_release_tag.py, .github/workflows/create-tag.yml, .github/workflows/*publish*, .github/workflows/alpha-release.yml, .github/scripts/tests/test_parse_release_tag.py
Registry tags are passed directly, experimental choices and alpha-release automation are removed, and unknown annotation values are no longer rejected.
Release guidance and package version
docs/sops/release.md, image-resize/Cargo.toml
Documentation now describes latest/next tagging and manual prereleases; image-resize moves to version 0.1.13.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested reviewers: ytallo, sergiofilhowz, rohitg00

Poem

A rabbit trims the tags tonight,
No alpha trails, just next and bright.
The manifest hops with simpler feet,
Stable versions land complete.
Latest carrots wait in line—
Release burrows now align.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: removing version suffix handling and registry channel support.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch revert/release-channels

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 50 skipped (no docs/).

Layer Result
structure
vale
ai
render

Four for four. Nicely done.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
.github/scripts/manifest_version.py (1)

34-43: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add regression coverage for none and prerelease inputs.

No test exercises --kind none or verifies that 0.1.0-alpha.1 becomes 0.1.1. These are central release-version semantics and could regress without detection.

Proposed tests
 class TestBumpSubcommand:
+    def test_bump_none_preserves_manifest(self, cargo_manifest):
+        before = cargo_manifest.read_text()
+        r = run_script("bump", str(cargo_manifest), "--kind", "none")
+        assert r.returncode == 0
+        assert r.stdout.strip() == "0.1.0"
+        assert cargo_manifest.read_text() == before
+
+    def test_bump_prerelease_advances_to_stable(self, tmp_path):
+        manifest = tmp_path / "Cargo.toml"
+        manifest.write_text('[package]\nname = "example"\nversion = "0.1.0-alpha.1"\n')
+        r = run_script("bump", str(manifest), "--kind", "patch")
+        assert r.returncode == 0
+        assert r.stdout.strip() == "0.1.1"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/scripts/manifest_version.py around lines 34 - 43, Add regression
tests for cmd_bump covering --kind none, asserting the manifest version remains
unchanged, and prerelease input such as 0.1.0-alpha.1, asserting the resulting
version is 0.1.1. Use the existing manifest-version test fixtures and invoke the
same command path exercised by cmd_bump.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/_publish-worker-skills.yml:
- Line 11: Update the workflow input description for the registry tag
configuration to remove the obsolete “channel” terminology and describe it
simply as “Registry tag,” while retaining the existing tag examples.

In `@docs/sops/release.md`:
- Around line 37-38: Update the release instructions in docs/sops/release.md to
resolve the mismatch between the Bump table and the later “Bump = none”
procedure: either restore “none” as a supported Bump value or, preferably,
remove and rewrite the stale pre-bumped-manifest steps around the Create Tag
inputs to use only the currently supported patch, minor, and major options.

---

Nitpick comments:
In @.github/scripts/manifest_version.py:
- Around line 34-43: Add regression tests for cmd_bump covering --kind none,
asserting the manifest version remains unchanged, and prerelease input such as
0.1.0-alpha.1, asserting the resulting version is 0.1.1. Use the existing
manifest-version test fixtures and invoke the same command path exercised by
cmd_bump.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6ff9ca7b-b515-466c-a885-b2b3a95160de

📥 Commits

Reviewing files that changed from the base of the PR and between 9eaeecd and ba1bacc.

⛔ Files ignored due to path filters (1)
  • image-resize/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (14)
  • .github/scripts/_lib.py
  • .github/scripts/manifest_version.py
  • .github/scripts/parse_release_tag.py
  • .github/scripts/tests/conftest.py
  • .github/scripts/tests/test_manifest_version.py
  • .github/scripts/tests/test_parse_release_tag.py
  • .github/workflows/_container.yml
  • .github/workflows/_publish-registry.yml
  • .github/workflows/_publish-worker-skills.yml
  • .github/workflows/alpha-release.yml
  • .github/workflows/create-tag.yml
  • .github/workflows/publish-worker-skills.yml
  • docs/sops/release.md
  • image-resize/Cargo.toml
💤 Files with no reviewable changes (6)
  • .github/workflows/publish-worker-skills.yml
  • .github/workflows/alpha-release.yml
  • .github/scripts/tests/conftest.py
  • .github/scripts/parse_release_tag.py
  • .github/scripts/tests/test_parse_release_tag.py
  • .github/scripts/_lib.py

type: string
version:
description: 'Registry channel (latest, next, experimental)'
description: 'Registry tag channel (latest, next, ...)'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Remove the obsolete “channel” terminology.

Call this a “Registry tag” to match the other workflows and avoid reintroducing the removed registry-channel concept.

Proposed fix
-        description: 'Registry tag channel (latest, next, ...)'
+        description: 'Registry tag (latest, next, ...)'
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
description: 'Registry tag channel (latest, next, ...)'
description: 'Registry tag (latest, next, ...)'
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/_publish-worker-skills.yml at line 11, Update the workflow
input description for the registry tag configuration to remove the obsolete
“channel” terminology and describe it simply as “Registry tag,” while retaining
the existing tag examples.

Comment thread docs/sops/release.md
Comment on lines +37 to +38
| Bump | `patch` / `minor` / `major` |
| Registry tag | `latest` or `next` — channel for `iii worker add` resolution |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Remove the stale Bump = none guidance or restore the option.

The table now exposes only patch / minor / major, but Lines 167–169 still tell operators to select Bump = none. That pre-bumped-manifest procedure can no longer be followed and should be rewritten for the reverted Create Tag inputs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/sops/release.md` around lines 37 - 38, Update the release instructions
in docs/sops/release.md to resolve the mismatch between the Bump table and the
later “Bump = none” procedure: either restore “none” as a supported Bump value
or, preferably, remove and rewrite the stale pre-bumped-manifest steps around
the Create Tag inputs to use only the currently supported patch, minor, and
major options.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-ticket PR deliberately has no Linear ticket (bump/typo/CI-only)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant